package com.linkage.bss.crm.packagemgr.bmo;

import java.util.List;
import java.util.Map;

import com.linkage.bss.commons.dao.Page;
import com.linkage.bss.crm.packagemgr.model.Area;
import com.linkage.bss.crm.packagemgr.model.PackParamType;

/**
 *
 * 包工具
 * @author sgl
 * @date 2013-4-17
 * @version 1.0
 */
public interface IPackageUtilBMO {

	/**
	 * 根据名称分页查询客户群
	 * @param name
	 * @param page
	 * @return
	 */
	public List<Area> getAreaByParentID(Integer areaId);

	public List<Map> queryProdSpec(Map map, Page page);

	public int queryProdSpecCnt(Map map);

	/**
	 *
	* queryOfferSpec
	* @Description: 根据销售品名称 查询销售品信息
	*  @param map
	*  @return
	 */
	public int queryOfferSpecCnt(Map map);

	/*
	 *根据销售品名称 查询销售品信息  分页查询
	 */
	public List<Map> queryOfferSpec(Map map, Page page);

	/**
	 * 非分页查询产品规格
	 * @param map
	 * @return [参数说明]
	 *
	 * @return List<Map> [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public List<Map> queryProdSpec(Map map);

	/**
	 * 查参数类型
	 * @return
	 *
	 */
	public List<PackParamType> queryParamType();

	/**
	 * 根据包编码查询包的个数
	 *
	 * @return int [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public int isPackCodeSingle(String packCode);

	/**
	 * 根据销售品ID获得
	 * 销售品的角色名称
	 * @param offerSpecId
	 * @return [参数说明]
	 *
	 * @return List [返回类型说明]
	 * @exception throws [违例类型] [违例说明]
	 * @see [类、类#方法、类#成员]
	 */
	public List queryOfferRoleNameById(Long offerSpecId);

	/**
	 *
	* queryPromoLabel
	* @Description: TODO(查询标签)
	*  @param map
	*  @param queryPage
	*  @return
	 */
	public List<Map> queryPromoLabel(Map map, Page queryPage);

	/**
	 *
	* queryPromoLabel
	* @Description: TODO(查询标签数)
	*  @param map
	*  @return
	 */
	public int queryPromoLabel(Map map);
}
